100 REM ***************************** 110 REM * V 2.6 * 120 REM * MATRIX RECHNER MIT EDITOR * 130 REM * * 140 REM * (C)1988 VIKTOR K.ANDOR * 150 REM * * 160 REM * EDUARD MOERIKE-STR.6 * 170 REM * 2970 EMDEN TEL:44736 * 180 REM * * 190 REM ***************************** 200 : 210 : 220 POKE 55,226:POKE 56,159:CLR:POKE 788,52 230 FOR I=0 TO 25:READ X:POKE 40931+I,X:NEXT I 240 DATA 032,253,174,032,158,183,138,072 250 DATA 032,253,174,032,158,183,104,168 260 DATA 024,032,240,255,032,253,174,076 270 DATA 164,170 280 AT=40931 290 DEFFNE(Y)=INT(1E7*Y+.5)/1E7 300 FOR I=0 TO 42:READ A:POKE 24576+I,A:NEXT I 310 DATA 169,000,160,004,133,250,132,251 320 DATA 169,232,160,007,133,252,132,253 330 DATA 169,160,133,254,160,000,165,254 340 DATA 145,250,230,250,208,002,230,251 350 DATA 165,250,197,252,165,251,229,253 360 DATA 144,230,096 370 POKE 53280,11:POKE 53281,0:POKE 53265,11:PRINT"[129][147]":SYS 24576 380 B1$="[146][159][221] [221] [221] [221] [221] [221] [221] [221] [221] [221] [221]" 390 B2$="[146][159][171][192][219][192][219][192][219][192][219][192][219][192][219][192][219][192][219][192][219][192][179]" 400 B0$="[129]":B3$="":B4$="[158]":B5$="":B6$="[154]":B8$="+ - * /?" 410 B9$="Q X ? Y?" 420 F1$="0102030405060708091011121314151617181920" 430 V1$="0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 2 " 440 V2$="1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 " 450 PRINTB0$" 0 0 0 0 0 0 0 0 0 1 VIKTOR K.ANDOR" 460 PRINTB0$" 1 2 3 4 5 6 7 8 9 0 1988" 470 PRINTB0$" [146][159][176][192][178][192][178][192][178][192][178][192][178][192][178][192][178][192][178][192][178][192][174]" 480 PRINTB0$" 01";B1$ 490 PRINTB0$" ";B2$ 500 PRINTB0$" 02";B1$ 510 PRINTB0$" ";B2$ 520 PRINTB0$" 03";B1$ 530 PRINTB0$" ";B2$ 540 PRINTB0$" 04";B1$ 550 PRINTB0$" ";B2$ 560 PRINTB0$" 05";B1$ 570 PRINTB0$" ";B2$ 580 PRINTB0$" 06";B1$ 590 PRINTB0$" ";B2$ 600 PRINTB0$" 07";B1$ 610 PRINTB0$" ";B2$ 620 PRINTB0$" 08";B1$ 630 PRINTB0$" ";B2$ 640 PRINTB0$" 09";B1$ 650 PRINTB0$" ";B2$ 660 PRINTB0$" 10";B1$ 670 PRINTB0$" [146][159][173][192][177][192][177][192][177][192][177][192][177][192][177][192][177][192][177][192][177][192][189]" 680 GOSUB 6860 690 FOR I=4 TO 21 STEP 2:SYS AT,26,I,B3$" ":NEXT I 700 PRINT"[159]" 710 SYS AT,25,02,"[176][192][192][192][192][192][192][192][192][192][192][192][192][174]" 720 SYS AT,25,22,"[173][192][192][192][192][192][192][192][192][192][192][192][192][189]" 730 GOSUB 6860 740 FOR I=4 TO 21 STEP 2:SYS AT,26,I,B3$" ":NEXT I 750 PRINT"[159]" 760 FOR I=3 TO 21 :SYS AT,25,I,"[221]":SYS AT,38,I,"[221]":NEXT I:POKE 53265,27 770 DIM Z(1,20,20),C(20,20),M(1,20,20),W(20):MA=0:TR=1 780 GET A$:IF A$=""THEN 780 790 IF A$="I" THEN 1060 800 IF A$="C" THEN 1950 810 IF A$="D" THEN 2220 820 IF A$="E" THEN GOSUB 6970:GOTO 910 830 IF A$="Q" THEN CL=0:GOSUB 6770 840 IF A$="M" THEN 2860 850 IF A$="R" THEN 2970 860 IF A$="S" THEN 3100 870 IF A$="W" THEN 3240 880 IF A$="-" THEN 3600 890 GOTO 780 900 : 910 GET A$:IF A$=""THEN 910 920 IF A$="+" THEN 3700 930 IF A$="-" THEN 3830 940 IF A$="*" THEN 3960 950 IF A$="/" THEN 4290 960 IF A$="Q" THEN GOSUB 6860:K=0:GOTO 780 970 IF A$="I" THEN 4200 980 IF A$="D" THEN 4070 990 IF A$="T" THEN 5550 1000 IF A$="S"THEN 5710 1010 IF A$="_"THEN 3350 1020 GOTO 910 1030 : 1040 REM INPUT 1050 : 1060 SYS AT,26,3,B3$;B9$:O=5 1070 GET A$:IF A$=""THEN 1070 1080 IF A$="X" THEN 1150 1090 IF A$="Y" THEN 1290 1100 IF A$="Q" THEN 1400 1110 GOTO 1070 1120 : 1130 REM INPUT X 1140 : 1150 GOSUB 6410 1160 SYS AT,26,3,B3$" "B4$"MATRIX X":SYS AT,1,0,"X" 1170 GOSUB 1430:GOSUB 1490:GOSUB 6550 1180 MX=VAL(M$):F=MX 1190 GOSUB 1440:GOSUB 1490:GOSUB 6550 1200 NX=VAL(M$):V=NX 1210 GOSUB 1460 1220 IF W=1 THEN 1170 1230 KX=MX:KY=NX:P=MX:R=NX 1240 DA=MA 1250 GOTO 1390 1260 : 1270 REM INPUT Y 1280 : 1290 GOSUB 6410 1300 SYS AT,26,3,B3$" "B4$"MATRIX Y":SYS AT,1,0,"Y" 1310 GOSUB 1430:GOSUB 1490:GOSUB 6550 1320 MY=VAL(M$):F=MY 1330 GOSUB 1440:GOSUB 1490:GOSUB 6550 1340 NY=VAL(M$):V=NY 1350 GOSUB 1460 1360 IF W=1 THEN 1310 1370 KX=MY:KY=NY:P=MY:R=NY 1380 DA=TR 1390 XY=5:GOSUB 6460:GOSUB 6550:GOSUB 5360 1400 SYS AT,26,3,B3$"I = MATRIX " 1410 GOTO 780 1420 : 1430 SYS AT,3,23,B0$"M=?":SA=2:RETURN 1440 SYS AT,3,23,B0$"N=?":SA=2:RETURN 1450 : 1460 IF F>20 OR V>20 OR F<1 OR V<1 THEN GOSUB 6370:W=1:RETURN 1470 W=0:RETURN 1480 : 1490 M$="":SZ=0 1500 GET N$:IF N$=""THEN 1500 1510 IF ASC(N$)=13 THEN RETURN 1520 IF ASC(N$)=20 AND SZ>=1 THEN SZ=SZ-1:M$=LEFT$(M$,SZ):GOTO 1570 1530 IF ASC(N$)=69 OR ASC(N$)=45 OR ASC(N$)=46 THEN 1550 1540 IF ASC(N$)>57 OR ASC(N$)<48 THEN 1500 1550 M$=M$+N$:SZ=SZ+1 1560 IF SZ>SA THEN SZ=SA:M$=LEFT$(M$,SZ) 1570 GOSUB 1610 1580 SYS AT,O,23,B0$;M$ 1590 GOTO 1500 1600 : 1610 SYS AT,O,23,B0$" " 1620 RETURN 1630 : 1640 IF F1>3 AND Y<=10 THEN GOSUB 1760:Y=Y-1:F1=F1-2:GOTO 2560 1650 IF F1>3 AND Y>1 THEN Y=Y-1:Y1=Y-10:GOSUB 1800:GOTO 2560 1660 GOTO 2600 1670 IF F1<21 AND Y10 AND Y4 AND X<=10 THEN GOSUB 1760:X=X-1:V1=V1-2:GOTO 2560 1710 IF V1>4 AND X>1 THEN X=X-1:GOSUB 1840:GOTO 2560 1720 GOTO 2600 1730 IF V1<22 AND X10 AND X1E-5 THEN SYS AT,V1,F1,B5$" ":RETURN 1770 SYS AT,V1,F1,B4$" ":RETURN 1780 : 1790 Y1=Y-9 1800 FOR I=3 TO 21 STEP 2 1810 SYS AT,1,I,B0$;MID$(F1$,Y1*2+1,2):Y1=Y1+1:NEXT I 1820 RETURN 1830 : 1840 IF X<=10 THEN 1890 1850 SYS AT,4,0,B0$;MID$(V1$,X*2-19,19) 1860 SYS AT,4,1,B0$;MID$(V2$,X*2-19,19) 1870 RETURN 1880 : 1890 SYS AT,4,0,B0$;MID$(V1$,1,19) 1900 SYS AT,4,1,B0$;MID$(V2$,1,19) 1910 RETURN 1920 : 1930 REM CLEAR 1940 : 1950 SYS AT,26,7,B3$;B9$ 1960 GET A$:IF A$=""THEN 1960 1970 IF A$="X" THEN 2040 1980 IF A$="Y" THEN 2140 1990 IF A$="Q" THEN 2090 2000 GOTO 1960 2010 : 2020 REM CLEAR X 2030 : 2040 IF MX=0 THEN F$="X":GOSUB 6580:GOTO 2090 2050 SYS AT,26,7,B3$" "B4$"CLEAR X" 2060 CL=1:GOSUB 6770:IF A$="N" THEN 2090 2070 KX=MX:KY=NX:XY=5:DA=MA:P=MX:R=NX:GOSUB 5360 2080 GOSUB 6410 2090 SYS AT,26,7,B3$"C = CLEAR " 2100 GOTO 780 2110 : 2120 REM CLEAR Y 2130 : 2140 IF MY=0 THEN F$="Y":GOSUB 6580:GOTO 2090 2150 SYS AT,26,7,B3$" "B4$"CLEAR Y" 2160 CL=1:GOSUB 6770:IF A$="N" THEN 2190 2170 KX=MY:KY=NY:XY=5:DA=TR:P=MY:R=NY:GOSUB 5360 2180 GOSUB 6410 2190 GOTO 2090 2200 : 2210 REM DATEN EINGABE 2220 : 2230 SYS AT,26,5,B3$;B9$:O=5 2240 GET A$:IF A$=""THEN 2240 2250 IF A$="X" THEN 2320 2260 IF A$="Y" THEN 2420 2270 IF A$="Q" THEN 2370 2280 GOTO 2240 2290 : 2300 REM DATA X 2310 : 2320 IF MX=0 THEN F$="X":GOSUB 6580:GOTO 2370 2330 SYS AT,26,5,B3$" "B4$"DATA X ":SYS AT,1,0,"X" 2340 KX=MX:KY=NX:GOSUB 6410:GOSUB 6460 2350 F=MX:V=NX 2360 DA=MA:GOSUB 2500 2370 SYS AT,26,5,B3$"D = DATA " 2380 GOTO 780 2390 : 2400 REM DATA Y 2410 : 2420 IF MY=0 THEN F$="Y":GOSUB 6580:GOTO 2370 2430 SYS AT,26,5,B3$" "B4$"DATA Y ":SYS AT,1,0,"Y" 2440 F=MY:V=NY:KX=MY:KY=NY:GOSUB 6410:GOSUB 6460 2450 DA=TR:GOSUB 2500 2460 SYS AT,26,5,B3$"D = DATA " 2470 IF MX<>0 THEN F=MX:V=NX:KX=MX:KY=NX:GOSUB 6410:GOSUB 6460:SYS AT,1,0,"X" 2480 GOTO 780 2490 : 2500 F1=3:V1=4:SA=15 2510 GOSUB 1890 2520 Y1=0:GOSUB 1800 2530 FOR Y=1 TO F 2540 FOR X=1 TO V 2550 IF X>=10 THEN V1=22:GOSUB 1840 2560 SYS AT,V1,F1,"?" 2570 GOSUB 1610 2580 M$=STR$(FNE(Z(DA,Y,X))) 2590 SYS AT,3,23,B0$;"X=";M$ 2600 GET N$:IF N$="" THEN 2600 2610 IF ASC(N$)=45 OR ASC(N$)=46 THEN 2630 2620 IF ASC(N$)<48 OR ASC(N$)>57 THEN 2650 2630 M$="":SZ=0:GOSUB 1550:Z(DA,Y,X)=VAL(M$) 2640 IF ASC(N$)= 13 THEN 2720 2650 IF ASC(N$)=147 OR ASC(N$)=19 THEN GOSUB 1890:GOTO 2800 2660 IF ASC(N$)=145 THEN 1640 2670 IF ASC(N$)= 17 THEN 1670 2680 IF ASC(N$)=157 THEN 1700 2690 IF ASC(N$)= 29 THEN 1730 2700 IF ASC(N$)= 13 THEN 2720 2710 GOTO 2600 2720 GOSUB 1760 2730 V1=V1+2 2740 NEXT X 2750 GOSUB 1890 2760 V1=4 2770 F1=F1+2 2780 IF Y>=10 AND YM" 2880 MM=MX:NM=NX 2890 FOR X=1 TO MX 2900 FOR Y=1 TO NX 2910 M(0,X,Y)=Z(MA,X,Y):NEXT Y:NEXT X 2920 SYS AT,30,13,B3$"X [192]>M" 2930 GOTO 780 2940 : 2950 REM X=M 2960 : 2970 IF MM=0 THEN F$="M":GOSUB 6580:GOTO 3050 2980 SYS AT,30,15,B4$"M [192]>X":SYS AT,1,0,"X" 2990 GOSUB 6410 3000 MX=MM:NX=NM 3010 KX=MM:KY=NM:GOSUB 6460 3020 FOR X=1 TO MM 3030 FOR Y=1 TO NM 3040 Z(MA,X,Y)=M(0,X,Y):NEXT Y:NEXT X 3050 SYS AT,30,15,B3$"M [192]>X" 3060 GOTO 780 3070 : 3080 REM X=X+M 3090 : 3100 IF MM=0 THEN F$="M":GOSUB 6580:GOTO 3190 3110 SYS AT,30,17,B4$"X+M [192]>M":SYS AT,1,0,"X" 3120 IF MM=MX OR NM=NX THEN 3140 3130 GOSUB 6620:GOTO 3190 3140 FOR X=1 TO MM 3150 FOR Y=1 TO NM 3160 M(0,X,Y)=M(0,X,Y)+Z(MA,X,Y) 3170 NEXT Y 3180 NEXT X 3190 SYS AT,30,17,B3$"X+M [192]>M" 3200 GOTO 780 3210 : 3220 REM VERTAUSCHEN VON X,Y 3230 : 3240 IF MX=0 AND MY=0 THEN F$="":GOSUB 6580:GOTO 3300 3250 SYS AT,30,19,B4$"X< [192] >Y":SYS AT,1,0,"X" 3260 C=MA:MA=TR:TR=C 3270 C=MX:MX=MY:MY=C:C=NX:NX=NY:NY=C 3280 KX=MX:KY=NX:GOSUB 6410 3290 IF MX<>0 THEN GOSUB 6460 3300 SYS AT,30,19,B3$"X< [192] >Y" 3310 GOTO 780 3320 : 3330 REM DREHEN 3340 : 3350 IF MX=0 THEN F$="X":GOSUB 6580:GOSUB 6860:GOTO 780 3360 SYS AT,26,21,B3$"Q _ ? ^?" 3370 GET A$:IF A$="" THEN 3370 3380 IF A$="_" THEN SYS AT,26,21,B3$" "B4$"_"B3$" ":GOTO 3420 3390 IF A$="^" THEN SYS AT,26,21,B3$" "B4$"^"B3$" ":GOTO 3460 3400 IF A$="Q" THEN 3550 3410 GOTO 3370 3420 IF MX<>NX THEN GOSUB 6530:GOSUB 6740:GOTO 3550 3430 G=MX 3440 FOR X=1 TO MX:FOR Y=1 TO MX:C(X,Y)=Z(MA,X,Y):NEXT Y:NEXT X 3450 FOR X=1 TO MX:FOR Y=1 TO MX:Z(MA,X,Y)=C(Y,G):NEXT Y:G=G-1:NEXT X 3460 GOSUB 3470:GOTO 3550 3470 KX=MX:KY=NX:X=1:Y=1 3480 IF KX>10 THEN KX=10 3490 IF KY>10 THEN KY=10 3500 FOR F1=3 TO 2+2*KX STEP 2 3510 FOR V1=4 TO 3+2*KY STEP 2 3520 IF ABS(Z(MA,X,Y))>1E-5 THEN SYS AT,V1,F1,B5$" ":GOTO 3540 3530 SYS AT,V1,F1,B4$" " 3540 Y=Y+1:NEXT V1:Y=1:X=X+1:NEXT F1:RETURN 3550 SYS AT,26,21,B3$"_ = DREHEN X" 3560 GOTO 910 3570 : 3580 REM VERTAUSCHEN DER VORZEICHEN 3590 : 3600 IF MX=0 THEN F$="X":GOSUB 6580:GOTO 3650 3610 SYS AT,30,21,B4$"+/- [192]>X" 3620 FOR X=1 TO MX 3630 FOR Y=1 TO NX 3640 Z(MA,X,Y)=Z(MA,X,Y)*-1:NEXT Y:NEXT X 3650 SYS AT,30,21,B3$"+/- [192]>X" 3660 GOTO 780 3670 : 3680 REM X=X+Y 3690 : 3700 IF MX=0 OR MY=0 THEN F$="X ODER Y":GOSUB 6580:GOSUB 6860:GOTO 780 3710 IF MX<>MY OR NX<>NY THEN GOSUB 6530:GOSUB 6620:GOTO 3780 3720 SYS AT,30,3,B4$"X+Y [192]>X":SYS AT,1,0,"X" 3730 FOR X=1 TO MX 3740 FOR Y=1 TO NX 3750 Z(MA,X,Y)=Z(MA,X,Y)+Z(TR,X,Y) 3760 NEXT Y 3770 NEXT X 3780 SYS AT,30,3,B3$"X+Y [192]>X" 3790 GOTO 910 3800 : 3810 REM X=X-Y 3820 : 3830 IF MX=0 OR MY=0 THEN F$="X ODER Y":GOSUB 6580:GOSUB 6860:GOTO 780 3840 IF MX<>MY OR NX<>NY THEN GOSUB 6530:GOSUB 6620:GOTO 3910 3850 SYS AT,30,5,B4$"X-Y [192]>X":SYS AT,1,0,"X" 3860 FOR X=1 TO MX 3870 FOR Y=1 TO NX 3880 Z(MA,X,Y)=Z(MA,X,Y)-Z(TR,X,Y) 3890 NEXT Y 3900 NEXT X 3910 SYS AT,30,5,B3$"X-Y [192]>X" 3920 GOTO 910 3930 : 3940 REM X=X*Y 3950 : 3960 IF MX=0 OR MY=0 THEN F$="X ODER Y":GOSUB 6580:GOSUB 6860:GOTO 780 3970 SYS AT,30,7,B4$"X*Y [192]>X" 3980 GOSUB 6240 3990 GOSUB 6410 4000 K=K+1:IF K=2 THEN K=0:GOSUB 6860:GOSUB 3470:GOTO 2350 4010 KX=MX:KY=NX:GOSUB 6460 4020 SYS AT,30,7,B3$"X*Y [192]>X":SYS AT,1,0,"X":K=0 4030 GOTO 910 4040 : 4050 REM DETERMINANTE 4060 : 4070 IF MX=0 THEN F$="X":GOSUB 6580:GOSUB 6860:GOTO 780 4080 IF MX<>NX THEN GOSUB 6530:GOSUB 6740:GOTO 910 4090 SYS AT,30,17,B4$"DETERM.X" 4100 IF MX=1 AND NX=1 THEN DE=Z(MA,1,1):GOTO 4120 4110 XY=1:P=MX:R=NX:GOSUB 6030 4120 SYS AT,3,23,B0$"DETERMINANTE=";DE 4130 SYS AT,30,17,B3$"DETERM.X" 4140 GET A$:IF A$="" THEN 4140 4150 GOSUB 6550 4160 GOTO 920 4170 : 4180 REM REZIPROKWERT VON X 4190 : 4200 IF MX=0 THEN F$="X":GOSUB 6580:GOSUB 6860:GOTO 780 4210 IF MX<>NX THEN GOSUB 6530:GOSUB 6740:GOTO 910 4220 SYS AT,30,13,B4$"INVERS X":SYS AT,1,0,"X" 4230 XY=1:DA=MA:IN=MX:P=MX:R=NX:GOSUB 4740 4240 SYS AT,30,13,B3$"INVERS X":SYS AT,1,0,"X" 4250 GOTO 910 4260 : 4270 REM X=X/Y 4280 : 4290 IF MX=0 OR MY=0 THEN F$="X ODER Y":GOSUB 6580:GOSUB 6860:GOTO 780 4300 IF MY<>NY THEN GOSUB 6530:GOSUB 6740:GOTO 4420 4310 IF NX<>NY THEN GOSUB 6530:GOSUB 6620:GOTO 4420 4320 SYS AT,30,9,B4$"X*IY ->X" 4330 : 4340 XY=2:DA=TR:IN=MY:P=MY:R=NY 4350 FOR X=1 TO MY:FOR Y=1 TO NY:M(1,X,Y)=Z(TR,X,Y):NEXT Y:NEXT X 4360 GOSUB 4740 4370 GOSUB 6240 4380 P=MY:R=NY 4390 FOR X=1 TO MY:FOR Y=1 TO NY:Z(TR,X,Y)=M(1,X,Y):NEXT Y:NEXT X 4400 GOSUB 6410 4410 KX=MX:KY=NX:GOSUB 6460 4420 SYS AT,30,9,B3$"X*IY ->X":SYS AT,1,0,"X" 4430 GOTO 910 4440 : 4450 REM SUBRUTIN ZUM REZIPROKWERT 4460 : 4470 K=1:FOR X=1 TO CX 4480 C(X,X)=C(X,X)+1 4490 NEXT X 4500 B=CX 4510 H=B 4520 D=C(H,H)-1 4530 IF D=0 THEN K=0:RETURN 4540 GOSUB 4620 4550 B=B-1 4560 IF B>0 THEN 4510 4570 FOR X=1 TO CX 4580 C(X,X)=C(X,X)-1 4590 NEXT X 4600 RETURN 4610 : 4620 FOR F=1 TO CX 4630 H=B 4640 C(H,F)=C(H,F)/D 4650 NEXT F 4660 FOR E=1 TO CX 4670 IF B=E THEN 4720 4680 H=B:D=C(E,B) 4690 FOR F=1 TO CX 4700 C(E,F)=C(E,F)-D*C(B,F) 4710 NEXT F 4720 NEXT E:RETURN 4730 : 4740 W=0:CX=IN:DR=0:GOSUB 5360:IF IN=1 THEN GOSUB 4470:GOTO 4960 4750 FOR I=IN-1 TO 2 STEP-1 4760 IF C(I,I)=0 OR ABS(C(I,I))2 THEN GOSUB 5220 4840 GOSUB 4470 4850 IF K=0 THEN GOSUB 6830:RETURN 4860 IF IN<3 THEN 4930 4870 FOR I=2 TO IN-1 4880 FOR X=1 TO IN 4890 IF W(I)=0 THEN 4910 4900 C=C(X,W(I)):C(X,W(I))=C(X,I):C(X,I)=C 4910 NEXT X 4920 NEXT I 4930 IF W(1)<>0 THEN PV=1:W=IN:GOSUB 5170 4940 IF W(0)<>0 THEN PV=0:W=1:GOSUB 5170 4950 IF DR<>0 THEN GOSUB 5410 4960 XY=XY+2:GOSUB 5360:XY=XY-2 4970 RETURN 4980 : 4990 FOR X=1 TO IN 5000 IF C(1,X)=0 THEN 5020 5010 W(0)=X:GOTO 5030 5020 NEXT X 5030 FOR X=1 TO IN 5040 C=C(X,W(0)):C(X,W(0))=C(X,1):C(X,1)=C 5050 NEXT X 5060 RETURN 5070 : 5080 FOR X=IN TO 1 STEP-1 5090 IF C(IN,X)=0THEN 5110 5100 W(1)=X:GOTO 5120 5110 NEXT X 5120 FOR X=1 TO IN 5130 C=C(X,W(1)):C(X,W(1))=C(X,IN):C(X,IN)=C 5140 NEXT X 5150 RETURN 5160 : 5170 FOR X=1 TO IN 5180 C=C(W(PV),X):C(W(PV),X)=C(W,X):C(W,X)=C 5190 NEXT X 5200 RETURN 5210 : 5220 FOR I=IN-1 TO 2 STEP-1 5230 IF C(I,I)=0 OR ABS(C(I,I))1 THEN 6050 6100 E=E*C(1,1):DE=E:RETURN 6110 FOR F=1 TO B-1 6120 D=C(F,I):IF D<>0 THEN 6160 6130 NEXT F 6140 K=1 6150 RETURN 6160 FOR G=1 TO B:C(I,G)=C(I,G)+C(F,G):NEXT G 6170 RETURN 6180 FOR F=1 TO B-1:L=C(F,I)/D:FOR G=1 TO B-1:C(F,G)=C(F,G)-L*C(I,G) 6190 NEXT G:NEXT F 6200 RETURN 6210 : 6220 REM SUBRUTIN ZUM PRODUKT 6230 : 6240 IF NX<>MY THEN GOSUB 6530:GOSUB 6670:RETURN 6250 FOR X=1 TO MX 6260 FOR Y=1 TO NY 6270 C(X,Y)=0 6280 FOR Z=1 TO NX 6290 C(X,Y)=C(X,Y)+Z(MA,X,Z)*Z(TR,Z,Y) 6300 NEXT Z 6310 NEXT Y 6320 NEXT X 6330 XY=3:P=MX:R=NY:GOSUB 5360 6340 NX=NY 6350 RETURN 6360 : 6370 GOSUB 6530 6380 SYS AT,3,23,B0$"DEFINITION 1-20" 6390 GOTO 6540 6400 : 6410 FOR Y=3 TO 2+2*10 STEP 2 6420 FOR X=4 TO 3+2*10 STEP 2 6430 SYS AT,X,Y," ":NEXT X:NEXT Y 6440 RETURN 6450 : 6460 IF KX>10 THEN KX=10 6470 IF KY>10 THEN KY=10 6480 FOR Y=3 TO 2+2*KX STEP 2 6490 FOR X=4 TO 3+2*KY STEP 2 6500 SYS AT,X,Y,B6$" ":NEXT X:NEXT Y 6510 RETURN 6520 : 6530 SYS AT,3,23,B0$"ERROR !! " 6540 FOR I=1 TO 2000:NEXT I 6550 SYS AT,3,23,B0$" " 6560 RETURN 6570 : 6580 SYS AT,3,23,B0$"KEINE DEFINITION IN MATRIX ";F$ 6590 GOSUB 6540 6600 RETURN 6610 : 6620 SYS AT,3,23,B0$"MATRIZEN VERSCHIEDENEN FORMATS" 6630 GOSUB 6540 6640 RETURN 6650 : 6660 GOSUB 6530 6670 SYS AT,3,23,B0$"(N) IN MATRIX X UND (M) IN MATRIX Y":FOR I=1 TO 900:NEXT I 6680 GOSUB 6540 6690 SYS AT,3,23,B0$"SIND UNGLEICH" 6700 GOSUB 6540 6710 RETURN 6720 : 6730 GOSUB 6530 6740 SYS AT,3,23,B0$"MATRIZ IST NICHT QUADRATISCH" 6750 GOTO 6700 6760 : 6770 SYS AT,3,23,B0$"SIND SIE SICHER ? J/N" 6780 GET A$:IF A$=""THEN 6780 6790 IF A$="J" AND CL=0 THEN GOSUB 6550:POKE 788,49:PRINT"[145][145][145]":END 6800 IF A$="J" AND CL=1 THEN GOSUB 6550:RETURN 6810 IF A$="N" THEN GOSUB 6550:RETURN 6820 GOTO 6780 6830 SYS AT,3,23,B0$"MATRIX IST SINGULAER" 6840 GOTO 6700 6850 : 6860 SYS AT,26,3,B3$"I = MATRIX " 6870 SYS AT,26,5,B3$"D = DATA " 6880 SYS AT,26,7,B3$"C = CLEAR " 6890 SYS AT,26,9,B3$"E = MENUE II" 6900 SYS AT,26,11,B3$"Q = QUIT " 6910 SYS AT,26,13,B3$"M = X [192]>M " 6920 SYS AT,26,15,B3$"R = M [192]>X " 6930 SYS AT,26,17,B3$"S = X+M [192]>M " 6940 SYS AT,26,19,B3$"W = X< [192] >Y " 6950 SYS AT,26,21,B3$"- = +/- [192]>X " 6960 RETURN 6970 SYS AT,26,3,B3$"+ = X+Y [192]>X" 6980 SYS AT,26,5,B3$"- = X-Y [192]>X" 6990 SYS AT,26,7,B3$"* = X*Y [192]>X" 7000 SYS AT,26,9,B3$"/ = X*IY [192]>X" 7010 SYS AT,26,13,B3$"I = INVERS X" 7020 SYS AT,26,15,B3$"T = TRANSP.X" 7030 SYS AT,26,17,B3$"D = DETERM.X" 7040 SYS AT,26,19,B3$"S = SKALAR X" 7050 SYS AT,26,21,B3$"_ = DREHEN X" 7060 RETURN